import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/hello")
//注解是Java的特殊类，Java专门定义一种语法糖来实现注解
public class helloServlet extends HttpServlet {

    @Override
    public void init() throws ServletException {
        //只会在实例化（初始化）的时候调用一次，后续就不会再调用
        //重写init方法
        //插入咋们自己初始化的逻辑
        System.out.println("init");
    }

    @Override
    public void destroy() {
        //在HttpServlet不在使用的时候调用一次
        //服务器终止的时候就不在调用
        System.out.println("destroy");
    }

    @Override
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
        super.service(req, res);
        System.out.println("service");
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //父类方法只是返回一个错误的页面
        //super.doGet(req, resp);
        //只是在服务器的控制台上打印
        System.out.println("hello wrold");
        //要想把hello world返回到客户端，就需要以下代码
        //getWriter()会得到一个write对象，此时写的数据就写到HTTP响应的body中
        resp.getWriter().write("hello world");
    }
}
